[INFO] fetching crate elements-miniscript 0.2.0...
[INFO] checking elements-miniscript-0.2.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate elements-miniscript 0.2.0 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate elements-miniscript 0.2.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate elements-miniscript 0.2.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate elements-miniscript 0.2.0
[INFO] tweaked toml for crates.io crate elements-miniscript 0.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate crates.io crate elements-miniscript 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded slip21 v0.2.1
[INFO] [stderr]   Downloaded secp256k1-zkp v0.9.1
[INFO] [stderr]   Downloaded serde_test v1.0.158
[INFO] [stderr]   Downloaded bitcoin v0.30.0
[INFO] [stderr]   Downloaded elements v0.22.0
[INFO] [stderr]   Downloaded miniscript v10.0.0
[INFO] [stderr]   Downloaded secp256k1-zkp-sys v0.8.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a63ca96aa718a977791a6421c5514e958303a614f1faa4a08b099e6fed894c7b
[INFO] running `Command { std: "docker" "start" "-a" "a63ca96aa718a977791a6421c5514e958303a614f1faa4a08b099e6fed894c7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a63ca96aa718a977791a6421c5514e958303a614f1faa4a08b099e6fed894c7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a63ca96aa718a977791a6421c5514e958303a614f1faa4a08b099e6fed894c7b", kill_on_drop: false }`
[INFO] [stdout] a63ca96aa718a977791a6421c5514e958303a614f1faa4a08b099e6fed894c7b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 10c38aa56e0043695234251ba4d1af72a3e867ca64450fb468a815e295a70802
[INFO] running `Command { std: "docker" "start" "-a" "10c38aa56e0043695234251ba4d1af72a3e867ca64450fb468a815e295a70802", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.146
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling bitcoin-private v0.1.0
[INFO] [stderr]    Compiling serde v1.0.156
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling bitcoin v0.30.0
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]    Compiling serde_json v1.0.94
[INFO] [stderr]     Checking ryu v1.0.13
[INFO] [stderr]     Checking bitcoin_hashes v0.11.0
[INFO] [stderr]     Checking itoa v1.0.6
[INFO] [stderr]    Compiling serde_test v1.0.158
[INFO] [stderr]     Checking bitcoin_hashes v0.12.0
[INFO] [stderr]    Compiling secp256k1-sys v0.8.1
[INFO] [stderr]    Compiling secp256k1-zkp-sys v0.8.0
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking slip21 v0.2.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking secp256k1 v0.27.0
[INFO] [stderr]     Checking secp256k1-zkp v0.9.1
[INFO] [stderr]     Checking miniscript v10.0.0
[INFO] [stderr]     Checking elements v0.22.0
[INFO] [stderr]     Checking elements-miniscript v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `pub_macros::*`
[INFO] [stdout]    --> src/lib.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub use pub_macros::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pub_macros::*`
[INFO] [stdout]    --> src/lib.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub use pub_macros::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `proprietary` and `unknown` are never used
[INFO] [stdout]     --> src/psbt/mod.rs:1091:8
[INFO] [stdout]      |
[INFO] [stdout] 1082 | trait PsbtFields {
[INFO] [stdout]      |       ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     fn proprietary(&mut self) -> &mut BTreeMap<psbt::raw::ProprietaryKey, Vec<u8>>;
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 1092 |     fn unknown(&mut self) -> &mut BTreeMap<psbt::raw::Key, Vec<u8>>;
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `proprietary` and `unknown` are never used
[INFO] [stdout]     --> src/psbt/mod.rs:1091:8
[INFO] [stdout]      |
[INFO] [stdout] 1082 | trait PsbtFields {
[INFO] [stdout]      |       ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     fn proprietary(&mut self) -> &mut BTreeMap<psbt::raw::ProprietaryKey, Vec<u8>>;
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 1092 |     fn unknown(&mut self) -> &mut BTreeMap<psbt::raw::Key, Vec<u8>>;
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.98s
[INFO] running `Command { std: "docker" "inspect" "10c38aa56e0043695234251ba4d1af72a3e867ca64450fb468a815e295a70802", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "10c38aa56e0043695234251ba4d1af72a3e867ca64450fb468a815e295a70802", kill_on_drop: false }`
[INFO] [stdout] 10c38aa56e0043695234251ba4d1af72a3e867ca64450fb468a815e295a70802
[INFO] checking elements-miniscript-0.2.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate elements-miniscript 0.2.0 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate elements-miniscript 0.2.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate elements-miniscript 0.2.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate elements-miniscript 0.2.0
[INFO] tweaked toml for crates.io crate elements-miniscript 0.2.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate crates.io crate elements-miniscript 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 085a40a5409f5af2e36bc0e4fc2ccca6a1d54ea043f9696ed578da31c620b2f3
[INFO] running `Command { std: "docker" "start" "-a" "085a40a5409f5af2e36bc0e4fc2ccca6a1d54ea043f9696ed578da31c620b2f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "085a40a5409f5af2e36bc0e4fc2ccca6a1d54ea043f9696ed578da31c620b2f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "085a40a5409f5af2e36bc0e4fc2ccca6a1d54ea043f9696ed578da31c620b2f3", kill_on_drop: false }`
[INFO] [stdout] 085a40a5409f5af2e36bc0e4fc2ccca6a1d54ea043f9696ed578da31c620b2f3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4046092c892a0adea670141c3f39a9368ef3dab58e9f82900c1019432a551afc
[INFO] running `Command { std: "docker" "start" "-a" "4046092c892a0adea670141c3f39a9368ef3dab58e9f82900c1019432a551afc", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling libc v0.2.146
[INFO] [stderr]    Compiling bitcoin-private v0.1.0
[INFO] [stderr]    Compiling serde v1.0.156
[INFO] [stderr]    Compiling hex_lit v0.1.1
[INFO] [stderr]    Compiling bitcoin v0.30.0
[INFO] [stderr]    Compiling serde_json v1.0.94
[INFO] [stderr]     Checking bech32 v0.9.1
[INFO] [stderr]     Checking itoa v1.0.6
[INFO] [stderr]     Checking bitcoin_hashes v0.11.0
[INFO] [stderr]     Checking ryu v1.0.13
[INFO] [stderr]    Compiling serde_test v1.0.158
[INFO] [stderr]     Checking bitcoin_hashes v0.12.0
[INFO] [stderr]    Compiling secp256k1-sys v0.8.1
[INFO] [stderr]    Compiling secp256k1-zkp-sys v0.8.0
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking slip21 v0.2.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking secp256k1 v0.27.0
[INFO] [stderr]     Checking secp256k1-zkp v0.9.1
[INFO] [stderr]     Checking elements v0.22.0
[INFO] [stderr]     Checking miniscript v10.0.0
[INFO] [stderr]     Checking elements-miniscript v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `pub_macros::*`
[INFO] [stdout]    --> src/lib.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub use pub_macros::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/descriptor/pegin/legacy_pegin.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |         } else if &s[0..1] == "f" && s.len() == 67 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/descriptor/pegin/legacy_pegin.rs:76:20
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 &s[1..],
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/descriptor/pegin/legacy_pegin.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 |         } else if &s[0..1] == "u" && s.len() == 67 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/descriptor/pegin/legacy_pegin.rs:80:49
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 bitcoin::PublicKey::from_str(&s[1..])?,
[INFO] [stdout]    |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/descriptor/bare.rs:182:56
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let top = expression::Tree::from_str(&desc_str[2..])?;
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/descriptor/sortedmulti.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let pks: Result<Vec<Pk>, _> = tree.args[1..]
[INFO] [stdout]    |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/tr.rs:557:23
[INFO] [stdout]     |
[INFO] [stdout] 557 |         let rest = &s[5..s.len() - 1];
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/descriptor/tr.rs:611:39
[INFO] [stdout]     |
[INFO] [stdout] 611 |             Some((&inp[..found], &inp[found + 1..]))
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/checksum.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 |         (0..8).for_each(|_| self.c = poly_mod(self.c, 0));
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/checksum.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 127 |         for j in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:230:53
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let unhardened_path = &self.derivation_path[last_hardened_idx..];
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:471:36
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     if !(&key_part[0..2] == "02"
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:472:38
[INFO] [stdout]     |
[INFO] [stdout] 472 |                         || &key_part[0..2] == "03"
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:473:38
[INFO] [stdout]     |
[INFO] [stdout] 473 |                         || &key_part[0..2] == "04")
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:742:23
[INFO] [stdout]     |
[INFO] [stdout] 742 |     let mut parts = s[1..].split(']');
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:829:37
[INFO] [stdout]     |
[INFO] [stdout] 829 |                     let indexes = p[1..p.len() - 1].split(';');
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:131:32
[INFO] [stdout]     |
[INFO] [stdout] 131 |         if s.len() >= 12 && &s[0..12] == "legacy_pegin" {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:133:38
[INFO] [stdout]     |
[INFO] [stdout] 133 |         } else if s.len() >= 5 && &s[0..5] == "pegin" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:135:38
[INFO] [stdout]     |
[INFO] [stdout] 135 |         } else if s.len() >= 3 && &s[0..3] == "pkh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:137:38
[INFO] [stdout]     |
[INFO] [stdout] 137 |         } else if s.len() >= 4 && &s[0..4] == "wpkh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:139:38
[INFO] [stdout]     |
[INFO] [stdout] 139 |         } else if s.len() >= 6 && &s[0..6] == "sh(wsh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:141:38
[INFO] [stdout]     |
[INFO] [stdout] 141 |         } else if s.len() >= 7 && &s[0..7] == "sh(wpkh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:143:39
[INFO] [stdout]     |
[INFO] [stdout] 143 |         } else if s.len() >= 14 && &s[0..14] == "sh(sortedmulti" {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:145:39
[INFO] [stdout]     |
[INFO] [stdout] 145 |         } else if s.len() >= 18 && &s[0..18] == "sh(wsh(sortedmulti" {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:147:38
[INFO] [stdout]     |
[INFO] [stdout] 147 |         } else if s.len() >= 2 && &s[0..2] == "sh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:149:39
[INFO] [stdout]     |
[INFO] [stdout] 149 |         } else if s.len() >= 15 && &s[0..15] == "wsh(sortedmulti" {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:151:38
[INFO] [stdout]     |
[INFO] [stdout] 151 |         } else if s.len() >= 3 && &s[0..3] == "wsh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:153:38
[INFO] [stdout]     |
[INFO] [stdout] 153 |         } else if s.len() >= 6 && &s[0..6] == "covwsh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/descriptor/mod.rs:1035:30
[INFO] [stdout]      |
[INFO] [stdout] 1035 |                     for _ in 0..xpub.derivation_paths.paths().len() {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/descriptor/mod.rs:1089:61
[INFO] [stdout]      |
[INFO] [stdout] 1089 |         let range = if self.has_wildcard() { range } else { 0..1 };
[INFO] [stdout]      |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/expression.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 &sl[n..],
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/expression.rs:176:26
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 sl = &sl[n + 1..];
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/expression.rs:185:34
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     sl = &new_sl[1..];
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/expression.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 233 |         if !('1'..='9').contains(&ch) {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:800:21
[INFO] [stdout]     |
[INFO] [stdout] 800 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:806:21
[INFO] [stdout]     |
[INFO] [stdout] 806 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:813:21
[INFO] [stdout]     |
[INFO] [stdout] 813 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:820:21
[INFO] [stdout]     |
[INFO] [stdout] 820 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:827:21
[INFO] [stdout]     |
[INFO] [stdout] 827 |             tks.get(e.checked_sub(5)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:831:21
[INFO] [stdout]     |
[INFO] [stdout] 831 |             tks.get(e.checked_sub(5)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:838:21
[INFO] [stdout]     |
[INFO] [stdout] 838 |             tks.get(e.checked_sub(5)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:845:21
[INFO] [stdout]     |
[INFO] [stdout] 845 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:850:21
[INFO] [stdout]     |
[INFO] [stdout] 850 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:856:21
[INFO] [stdout]     |
[INFO] [stdout] 856 |         ) = tks.get(e.checked_sub(8)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:862:21
[INFO] [stdout]     |
[INFO] [stdout] 862 |         ) = tks.get(e.checked_sub(8)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:868:21
[INFO] [stdout]     |
[INFO] [stdout] 868 |         ) = tks.get(e.checked_sub(10)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:877:21
[INFO] [stdout]     |
[INFO] [stdout] 877 |         ) = tks.get(e.checked_sub(13)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:165:46
[INFO] [stdout]     |
[INFO] [stdout] 165 |         if let Some(&[Tk::Num(i)]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:167:54
[INFO] [stdout]     |
[INFO] [stdout] 167 |         } else if let Some(&[Tk::CurrInp]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:169:50
[INFO] [stdout]     |
[INFO] [stdout] 169 |         } else if let Some(&[Tk::Add]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:173:50
[INFO] [stdout]     |
[INFO] [stdout] 173 |         } else if let Some(&[Tk::Sub]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:177:129
[INFO] [stdout]     |
[INFO] [stdout] 177 | ..., Tk::Equal, Tk::Verify, Tk::Le64ToScriptNum]) = tks.get(e.checked_sub(6)?..e) {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:179:59
[INFO] [stdout]     |
[INFO] [stdout] 179 |             if let Some(&[Tk::ScriptNumToLe64]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:185:138
[INFO] [stdout]     |
[INFO] [stdout] 185 | ...al, Tk::Verify, Tk::Nip, Tk::Le64ToScriptNum]) = tks.get(e.checked_sub(7)?..e) {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:187:59
[INFO] [stdout]     |
[INFO] [stdout] 187 |             if let Some(&[Tk::ScriptNumToLe64]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:593:11
[INFO] [stdout]     |
[INFO] [stdout] 593 |     bytes[1..].copy_from_slice(comm);
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:602:15
[INFO] [stdout]     |
[INFO] [stdout] 602 |         bytes[1..].copy_from_slice(comm);
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:667:49
[INFO] [stdout]     |
[INFO] [stdout] 667 |                         builder.push_slice(&ser[1..]).push_int(ser[0] as i64)
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:724:71
[INFO] [stdout]     |
[INFO] [stdout] 724 |         if let Some(&[Tk::Bytes32(asset_comm), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:727:68
[INFO] [stdout]     |
[INFO] [stdout] 727 |         } else if let Some(&[Tk::CurrInp, Tk::InpAsset]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:729:55
[INFO] [stdout]     |
[INFO] [stdout] 729 |         } else if let Some(&[Tk::InpAsset]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:732:55
[INFO] [stdout]     |
[INFO] [stdout] 732 |         } else if let Some(&[Tk::OutAsset]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:755:49
[INFO] [stdout]     |
[INFO] [stdout] 755 |                         builder.push_slice(&ser[1..]).push_int(ser[0] as i64)
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:812:71
[INFO] [stdout]     |
[INFO] [stdout] 812 |         if let Some(&[Tk::Bytes32(value_comm), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:815:74
[INFO] [stdout]     |
[INFO] [stdout] 815 |         } else if let Some(&[Tk::Bytes8(exp_val), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:818:68
[INFO] [stdout]     |
[INFO] [stdout] 818 |         } else if let Some(&[Tk::CurrInp, Tk::InpValue]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:820:55
[INFO] [stdout]     |
[INFO] [stdout] 820 |         } else if let Some(&[Tk::InpValue]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:823:55
[INFO] [stdout]     |
[INFO] [stdout] 823 |         } else if let Some(&[Tk::OutValue]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:902:68
[INFO] [stdout]     |
[INFO] [stdout] 902 |         if let Some(&[Tk::Bytes32(spk_vec), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:905:76
[INFO] [stdout]     |
[INFO] [stdout] 905 |         } else if let Some(&[Tk::Bytes32(spk_vec), Tk::NumNeg1]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:910:76
[INFO] [stdout]     |
[INFO] [stdout] 910 |         } else if let Some(&[Tk::Push(ref spk_vec), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:913:66
[INFO] [stdout]     |
[INFO] [stdout] 913 |         } else if let Some(&[Tk::CurrInp, Tk::InpSpk]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:915:53
[INFO] [stdout]     |
[INFO] [stdout] 915 |         } else if let Some(&[Tk::InpSpk]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:918:53
[INFO] [stdout]     |
[INFO] [stdout] 918 |         } else if let Some(&[Tk::OutSpk]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/extensions/introspect_ops.rs:1010:70
[INFO] [stdout]      |
[INFO] [stdout] 1010 |         if let Some(&[Tk::Num(i), Tk::CurrInp, Tk::Equal]) = tks.get(e.checked_sub(3)?..e) {
[INFO] [stdout]      |                                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/extensions/introspect_ops.rs:1012:52
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         } else if let Some(&[Tk::Equal]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]      |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/extensions/introspect_ops.rs:1016:73
[INFO] [stdout]      |
[INFO] [stdout] 1016 |         } else if let Some(&[Tk::Num(1), Tk::Equal, Tk::Nip]) = tks.get(e.checked_sub(3)?..e) {
[INFO] [stdout]      |                                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/extensions/introspect_ops.rs:1026:21
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         ) = tks.get(e.checked_sub(6)?..e)
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/outputs_pref.rs:264:22
[INFO] [stdout]     |
[INFO] [stdout] 264 |             for i in 0..max_elems {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/outputs_pref.rs:268:22
[INFO] [stdout]     |
[INFO] [stdout] 268 |             for _ in 0..max_elems {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:159:40
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     pk_from_slice(&spk[1..spk.len() - 1], false)?.into(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:245:76
[INFO] [stdout]     |
[INFO] [stdout] 245 |             let output_key = bitcoin::key::XOnlyPublicKey::from_slice(&spk[2..])
[INFO] [stdout]     |                                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/interpreter/mod.rs:1094:22
[INFO] [stdout]      |
[INFO] [stdout] 1094 |             for i in 0..12 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/interpreter/mod.rs:1115:57
[INFO] [stdout]      |
[INFO] [stdout] 1115 |                 let sighash_msg: Vec<u8> = self.stack.0[1..]
[INFO] [stdout]      |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/astelem.rs:621:84
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 let subs: Result<Vec<Arc<Miniscript<Pk, Ctx, Ext>>>, _> = top.args[1..]
[INFO] [stdout]     |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/astelem.rs:637:56
[INFO] [stdout]     |
[INFO] [stdout] 637 |                 let pks: Result<Vec<Pk>, _> = top.args[1..]
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/astelem.rs:755:18
[INFO] [stdout]     |
[INFO] [stdout] 755 |         for _ in 0..(max_elems - 1) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/astelem.rs:889:34
[INFO] [stdout]     |
[INFO] [stdout] 889 |                 for sub in &subs[1..] {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/decode.rs:477:34
[INFO] [stdout]     |
[INFO] [stdout] 477 |                         for _ in 0..n {
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/decode.rs:590:26
[INFO] [stdout]     |
[INFO] [stdout] 590 |                 for _ in 0..n {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/lex.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |             Some(self.0[self.len() - n..].as_ref())
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/lex.rs:140:22
[INFO] [stdout]     |
[INFO] [stdout] 140 |             for _ in 0..n {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/lex.rs:445:90
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   if &script::Builder::new().push_int(v).into_script()[1..]
[INFO] [stdout]     |                                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1189:32
[INFO] [stdout]      |
[INFO] [stdout] 1189 |         let mut sat_indices = (0..subs.len()).collect::<Vec<_>>();
[INFO] [stdout]      |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1208:18
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         for i in 0..k {
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1308:32
[INFO] [stdout]      |
[INFO] [stdout] 1308 |         let mut sat_indices = (0..subs.len()).collect::<Vec<_>>();
[INFO] [stdout]      |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1322:18
[INFO] [stdout]      |
[INFO] [stdout] 1322 |         for i in 0..k {
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1651:30
[INFO] [stdout]      |
[INFO] [stdout] 1651 |                     for _ in 0..sig_count - k {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/types/correctness.rs:481:18
[INFO] [stdout]     |
[INFO] [stdout] 481 |         for i in 0..n {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/types/extra_props.rs:784:18
[INFO] [stdout]     |
[INFO] [stdout] 784 |         for i in 0..n {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/types/malleability.rs:311:18
[INFO] [stdout]     |
[INFO] [stdout] 311 |         for i in 0..n {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1023:38
[INFO] [stdout]      |
[INFO] [stdout] 1023 |                     for sub in &subs[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1033:38
[INFO] [stdout]      |
[INFO] [stdout] 1033 |                     for sub in &subs[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1066:38
[INFO] [stdout]      |
[INFO] [stdout] 1066 |                     for sub in &subs[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1076:38
[INFO] [stdout]      |
[INFO] [stdout] 1076 |                     for sub in &subs[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1208:38
[INFO] [stdout]      |
[INFO] [stdout] 1208 |                 for arg in &top.args[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/policy/semantic.rs:389:38
[INFO] [stdout]     |
[INFO] [stdout] 389 |                 for arg in &top.args[1..] {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/policy/semantic.rs:614:34
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     Some(sublens[0..k].iter().cloned().sum::<usize>())
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 125 |     for i in 0..psbt.inputs().len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:151:56
[INFO] [stdout]     |
[INFO] [stdout] 151 |         match bitcoin::PublicKey::from_slice(&pk_bytes[1..script_pubkey_len - 1]) {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:340:18
[INFO] [stdout]     |
[INFO] [stdout] 340 |     for index in 0..psbt.inputs().len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:508:14
[INFO] [stdout]     |
[INFO] [stdout] 508 |     for n in 0..psbt.inputs().len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:515:18
[INFO] [stdout]     |
[INFO] [stdout] 515 |     for index in 0..psbt.inputs().len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:648:22
[INFO] [stdout]     |
[INFO] [stdout] 648 |         for index in 0..self.inputs().len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:686:22
[INFO] [stdout]     |
[INFO] [stdout] 686 |         for index in 0..self.inputs().len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/psbt/mod.rs:1352:43
[INFO] [stdout]      |
[INFO] [stdout] 1352 |     script_code.extend(&script.as_bytes()[2..]);
[INFO] [stdout]      |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for i in 0..::std::mem::size_of::<$type>() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 | define_slice_to_le!(slice_to_u32_le, u32);
[INFO] [stdout]    | ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_slice_to_le` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pub_macros::*`
[INFO] [stdout]    --> src/lib.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub use pub_macros::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/descriptor/pegin/legacy_pegin.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |         } else if &s[0..1] == "f" && s.len() == 67 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/descriptor/pegin/legacy_pegin.rs:76:20
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 &s[1..],
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/descriptor/pegin/legacy_pegin.rs:78:22
[INFO] [stdout]    |
[INFO] [stdout] 78 |         } else if &s[0..1] == "u" && s.len() == 67 {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/descriptor/pegin/legacy_pegin.rs:80:49
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 bitcoin::PublicKey::from_str(&s[1..])?,
[INFO] [stdout]    |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/descriptor/bare.rs:182:56
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let top = expression::Tree::from_str(&desc_str[2..])?;
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/csfs_cov/mod.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |         for i in 1..n + 1 {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/descriptor/sortedmulti.rs:77:49
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let pks: Result<Vec<Pk>, _> = tree.args[1..]
[INFO] [stdout]    |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/sortedmulti.rs:251:18
[INFO] [stdout]     |
[INFO] [stdout] 251 |         for _ in 0..over {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/tr.rs:557:23
[INFO] [stdout]     |
[INFO] [stdout] 557 |         let rest = &s[5..s.len() - 1];
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/descriptor/tr.rs:611:39
[INFO] [stdout]     |
[INFO] [stdout] 611 |             Some((&inp[..found], &inp[found + 1..]))
[INFO] [stdout]     |                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/checksum.rs:123:10
[INFO] [stdout]     |
[INFO] [stdout] 123 |         (0..8).for_each(|_| self.c = poly_mod(self.c, 0));
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/checksum.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 127 |         for j in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:230:53
[INFO] [stdout]     |
[INFO] [stdout] 230 |         let unhardened_path = &self.derivation_path[last_hardened_idx..];
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:471:36
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     if !(&key_part[0..2] == "02"
[INFO] [stdout]     |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:472:38
[INFO] [stdout]     |
[INFO] [stdout] 472 |                         || &key_part[0..2] == "03"
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:473:38
[INFO] [stdout]     |
[INFO] [stdout] 473 |                         || &key_part[0..2] == "04")
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:742:23
[INFO] [stdout]     |
[INFO] [stdout] 742 |     let mut parts = s[1..].split(']');
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/key.rs:829:37
[INFO] [stdout]     |
[INFO] [stdout] 829 |                     let indexes = p[1..p.len() - 1].split(';');
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:131:32
[INFO] [stdout]     |
[INFO] [stdout] 131 |         if s.len() >= 12 && &s[0..12] == "legacy_pegin" {
[INFO] [stdout]     |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:133:38
[INFO] [stdout]     |
[INFO] [stdout] 133 |         } else if s.len() >= 5 && &s[0..5] == "pegin" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:135:38
[INFO] [stdout]     |
[INFO] [stdout] 135 |         } else if s.len() >= 3 && &s[0..3] == "pkh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:137:38
[INFO] [stdout]     |
[INFO] [stdout] 137 |         } else if s.len() >= 4 && &s[0..4] == "wpkh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:139:38
[INFO] [stdout]     |
[INFO] [stdout] 139 |         } else if s.len() >= 6 && &s[0..6] == "sh(wsh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:141:38
[INFO] [stdout]     |
[INFO] [stdout] 141 |         } else if s.len() >= 7 && &s[0..7] == "sh(wpkh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:143:39
[INFO] [stdout]     |
[INFO] [stdout] 143 |         } else if s.len() >= 14 && &s[0..14] == "sh(sortedmulti" {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:145:39
[INFO] [stdout]     |
[INFO] [stdout] 145 |         } else if s.len() >= 18 && &s[0..18] == "sh(wsh(sortedmulti" {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:147:38
[INFO] [stdout]     |
[INFO] [stdout] 147 |         } else if s.len() >= 2 && &s[0..2] == "sh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:149:39
[INFO] [stdout]     |
[INFO] [stdout] 149 |         } else if s.len() >= 15 && &s[0..15] == "wsh(sortedmulti" {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:151:38
[INFO] [stdout]     |
[INFO] [stdout] 151 |         } else if s.len() >= 3 && &s[0..3] == "wsh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/descriptor/mod.rs:153:38
[INFO] [stdout]     |
[INFO] [stdout] 153 |         } else if s.len() >= 6 && &s[0..6] == "covwsh" {
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/descriptor/mod.rs:1035:30
[INFO] [stdout]      |
[INFO] [stdout] 1035 |                     for _ in 0..xpub.derivation_paths.paths().len() {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/descriptor/mod.rs:1089:61
[INFO] [stdout]      |
[INFO] [stdout] 1089 |         let range = if self.has_wildcard() { range } else { 0..1 };
[INFO] [stdout]      |                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/descriptor/mod.rs:2160:77
[INFO] [stdout]      |
[INFO] [stdout] 2160 |             descriptor.find_derivation_index_for_spk(&secp, &script_at_0_1, 0..1),
[INFO] [stdout]      |                                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/descriptor/mod.rs:2164:77
[INFO] [stdout]      |
[INFO] [stdout] 2164 |             descriptor.find_derivation_index_for_spk(&secp, &script_at_0_1, 0..2),
[INFO] [stdout]      |                                                                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/descriptor/mod.rs:2168:77
[INFO] [stdout]      |
[INFO] [stdout] 2168 |             descriptor.find_derivation_index_for_spk(&secp, &script_at_0_1, 0..10),
[INFO] [stdout]      |                                                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/expression.rs:167:21
[INFO] [stdout]     |
[INFO] [stdout] 167 |                 &sl[n..],
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/expression.rs:176:26
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 sl = &sl[n + 1..];
[INFO] [stdout]     |                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/expression.rs:185:34
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     sl = &new_sl[1..];
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/expression.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 233 |         if !('1'..='9').contains(&ch) {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:800:21
[INFO] [stdout]     |
[INFO] [stdout] 800 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:806:21
[INFO] [stdout]     |
[INFO] [stdout] 806 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:813:21
[INFO] [stdout]     |
[INFO] [stdout] 813 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:820:21
[INFO] [stdout]     |
[INFO] [stdout] 820 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:827:21
[INFO] [stdout]     |
[INFO] [stdout] 827 |             tks.get(e.checked_sub(5)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:831:21
[INFO] [stdout]     |
[INFO] [stdout] 831 |             tks.get(e.checked_sub(5)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:838:21
[INFO] [stdout]     |
[INFO] [stdout] 838 |             tks.get(e.checked_sub(5)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:845:21
[INFO] [stdout]     |
[INFO] [stdout] 845 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:850:21
[INFO] [stdout]     |
[INFO] [stdout] 850 |             tks.get(e.checked_sub(4)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:856:21
[INFO] [stdout]     |
[INFO] [stdout] 856 |         ) = tks.get(e.checked_sub(8)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:862:21
[INFO] [stdout]     |
[INFO] [stdout] 862 |         ) = tks.get(e.checked_sub(8)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:868:21
[INFO] [stdout]     |
[INFO] [stdout] 868 |         ) = tks.get(e.checked_sub(10)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/arith.rs:877:21
[INFO] [stdout]     |
[INFO] [stdout] 877 |         ) = tks.get(e.checked_sub(13)?..e)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:165:46
[INFO] [stdout]     |
[INFO] [stdout] 165 |         if let Some(&[Tk::Num(i)]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:167:54
[INFO] [stdout]     |
[INFO] [stdout] 167 |         } else if let Some(&[Tk::CurrInp]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:169:50
[INFO] [stdout]     |
[INFO] [stdout] 169 |         } else if let Some(&[Tk::Add]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:173:50
[INFO] [stdout]     |
[INFO] [stdout] 173 |         } else if let Some(&[Tk::Sub]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:177:129
[INFO] [stdout]     |
[INFO] [stdout] 177 | ..., Tk::Equal, Tk::Verify, Tk::Le64ToScriptNum]) = tks.get(e.checked_sub(6)?..e) {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:179:59
[INFO] [stdout]     |
[INFO] [stdout] 179 |             if let Some(&[Tk::ScriptNumToLe64]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:185:138
[INFO] [stdout]     |
[INFO] [stdout] 185 | ...al, Tk::Verify, Tk::Nip, Tk::Le64ToScriptNum]) = tks.get(e.checked_sub(7)?..e) {
[INFO] [stdout]     |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/index_ops.rs:187:59
[INFO] [stdout]     |
[INFO] [stdout] 187 |             if let Some(&[Tk::ScriptNumToLe64]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:593:11
[INFO] [stdout]     |
[INFO] [stdout] 593 |     bytes[1..].copy_from_slice(comm);
[INFO] [stdout]     |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:602:15
[INFO] [stdout]     |
[INFO] [stdout] 602 |         bytes[1..].copy_from_slice(comm);
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:667:49
[INFO] [stdout]     |
[INFO] [stdout] 667 |                         builder.push_slice(&ser[1..]).push_int(ser[0] as i64)
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:724:71
[INFO] [stdout]     |
[INFO] [stdout] 724 |         if let Some(&[Tk::Bytes32(asset_comm), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:727:68
[INFO] [stdout]     |
[INFO] [stdout] 727 |         } else if let Some(&[Tk::CurrInp, Tk::InpAsset]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:729:55
[INFO] [stdout]     |
[INFO] [stdout] 729 |         } else if let Some(&[Tk::InpAsset]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:732:55
[INFO] [stdout]     |
[INFO] [stdout] 732 |         } else if let Some(&[Tk::OutAsset]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:755:49
[INFO] [stdout]     |
[INFO] [stdout] 755 |                         builder.push_slice(&ser[1..]).push_int(ser[0] as i64)
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:812:71
[INFO] [stdout]     |
[INFO] [stdout] 812 |         if let Some(&[Tk::Bytes32(value_comm), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:815:74
[INFO] [stdout]     |
[INFO] [stdout] 815 |         } else if let Some(&[Tk::Bytes8(exp_val), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:818:68
[INFO] [stdout]     |
[INFO] [stdout] 818 |         } else if let Some(&[Tk::CurrInp, Tk::InpValue]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:820:55
[INFO] [stdout]     |
[INFO] [stdout] 820 |         } else if let Some(&[Tk::InpValue]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:823:55
[INFO] [stdout]     |
[INFO] [stdout] 823 |         } else if let Some(&[Tk::OutValue]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:902:68
[INFO] [stdout]     |
[INFO] [stdout] 902 |         if let Some(&[Tk::Bytes32(spk_vec), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:905:76
[INFO] [stdout]     |
[INFO] [stdout] 905 |         } else if let Some(&[Tk::Bytes32(spk_vec), Tk::NumNeg1]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:910:76
[INFO] [stdout]     |
[INFO] [stdout] 910 |         } else if let Some(&[Tk::Push(ref spk_vec), Tk::Num(i)]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:913:66
[INFO] [stdout]     |
[INFO] [stdout] 913 |         } else if let Some(&[Tk::CurrInp, Tk::InpSpk]) = tks.get(e.checked_sub(2)?..e) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:915:53
[INFO] [stdout]     |
[INFO] [stdout] 915 |         } else if let Some(&[Tk::InpSpk]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/introspect_ops.rs:918:53
[INFO] [stdout]     |
[INFO] [stdout] 918 |         } else if let Some(&[Tk::OutSpk]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]     |                                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/extensions/introspect_ops.rs:1010:70
[INFO] [stdout]      |
[INFO] [stdout] 1010 |         if let Some(&[Tk::Num(i), Tk::CurrInp, Tk::Equal]) = tks.get(e.checked_sub(3)?..e) {
[INFO] [stdout]      |                                                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/extensions/introspect_ops.rs:1012:52
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         } else if let Some(&[Tk::Equal]) = tks.get(e.checked_sub(1)?..e) {
[INFO] [stdout]      |                                                    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/extensions/introspect_ops.rs:1016:73
[INFO] [stdout]      |
[INFO] [stdout] 1016 |         } else if let Some(&[Tk::Num(1), Tk::Equal, Tk::Nip]) = tks.get(e.checked_sub(3)?..e) {
[INFO] [stdout]      |                                                                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/extensions/introspect_ops.rs:1026:21
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         ) = tks.get(e.checked_sub(6)?..e)
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/outputs_pref.rs:264:22
[INFO] [stdout]     |
[INFO] [stdout] 264 |             for i in 0..max_elems {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/extensions/outputs_pref.rs:268:22
[INFO] [stdout]     |
[INFO] [stdout] 268 |             for _ in 0..max_elems {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:159:40
[INFO] [stdout]     |
[INFO] [stdout] 159 |                     pk_from_slice(&spk[1..spk.len() - 1], false)?.into(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:245:76
[INFO] [stdout]     |
[INFO] [stdout] 245 |             let output_key = bitcoin::key::XOnlyPublicKey::from_slice(&spk[2..])
[INFO] [stdout]     |                                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:578:56
[INFO] [stdout]     |
[INFO] [stdout] 578 |         assert_eq!(stack, Stack::from(vec![comp.pk_sig[1..].into()]));
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:588:58
[INFO] [stdout]     |
[INFO] [stdout] 588 |         assert_eq!(stack, Stack::from(vec![uncomp.pk_sig[1..].into()]));
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:603:37
[INFO] [stdout]     |
[INFO] [stdout] 603 |         assert_eq!(&err.to_string()[0..12], "parse error:");
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:838:37
[INFO] [stdout]     |
[INFO] [stdout] 838 |         assert_eq!(&err.to_string()[0..12], "parse error:");
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:898:37
[INFO] [stdout]     |
[INFO] [stdout] 898 |         assert_eq!(&err.to_string()[0..12], "parse error:");
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/interpreter/inner.rs:946:37
[INFO] [stdout]     |
[INFO] [stdout] 946 |         assert_eq!(&err.to_string()[0..12], "parse error:");
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/interpreter/mod.rs:1094:22
[INFO] [stdout]      |
[INFO] [stdout] 1094 |             for i in 0..12 {
[INFO] [stdout]      |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/interpreter/mod.rs:1115:57
[INFO] [stdout]      |
[INFO] [stdout] 1115 |                 let sighash_msg: Vec<u8> = self.stack.0[1..]
[INFO] [stdout]      |                                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/interpreter/mod.rs:1234:18
[INFO] [stdout]      |
[INFO] [stdout] 1234 |         for i in 1..n + 1 {
[INFO] [stdout]      |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/astelem.rs:621:84
[INFO] [stdout]     |
[INFO] [stdout] 621 |                 let subs: Result<Vec<Arc<Miniscript<Pk, Ctx, Ext>>>, _> = top.args[1..]
[INFO] [stdout]     |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/astelem.rs:637:56
[INFO] [stdout]     |
[INFO] [stdout] 637 |                 let pks: Result<Vec<Pk>, _> = top.args[1..]
[INFO] [stdout]     |                                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/astelem.rs:755:18
[INFO] [stdout]     |
[INFO] [stdout] 755 |         for _ in 0..(max_elems - 1) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/astelem.rs:889:34
[INFO] [stdout]     |
[INFO] [stdout] 889 |                 for sub in &subs[1..] {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/decode.rs:477:34
[INFO] [stdout]     |
[INFO] [stdout] 477 |                         for _ in 0..n {
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/decode.rs:590:26
[INFO] [stdout]     |
[INFO] [stdout] 590 |                 for _ in 0..n {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/iter.rs:241:18
[INFO] [stdout]     |
[INFO] [stdout] 241 |         for i in 1..n + 1 {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/lex.rs:130:25
[INFO] [stdout]     |
[INFO] [stdout] 130 |             Some(self.0[self.len() - n..].as_ref())
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/lex.rs:140:22
[INFO] [stdout]     |
[INFO] [stdout] 140 |             for _ in 0..n {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/miniscript/lex.rs:445:90
[INFO] [stdout]     |
[INFO] [stdout] 445 | ...                   if &script::Builder::new().push_int(v).into_script()[1..]
[INFO] [stdout]     |                                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1189:32
[INFO] [stdout]      |
[INFO] [stdout] 1189 |         let mut sat_indices = (0..subs.len()).collect::<Vec<_>>();
[INFO] [stdout]      |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1208:18
[INFO] [stdout]      |
[INFO] [stdout] 1208 |         for i in 0..k {
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1308:32
[INFO] [stdout]      |
[INFO] [stdout] 1308 |         let mut sat_indices = (0..subs.len()).collect::<Vec<_>>();
[INFO] [stdout]      |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1322:18
[INFO] [stdout]      |
[INFO] [stdout] 1322 |         for i in 0..k {
[INFO] [stdout]      |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/miniscript/satisfy.rs:1651:30
[INFO] [stdout]      |
[INFO] [stdout] 1651 |                     for _ in 0..sig_count - k {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/types/correctness.rs:481:18
[INFO] [stdout]     |
[INFO] [stdout] 481 |         for i in 0..n {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/types/extra_props.rs:784:18
[INFO] [stdout]     |
[INFO] [stdout] 784 |         for i in 0..n {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/types/malleability.rs:311:18
[INFO] [stdout]     |
[INFO] [stdout] 311 |         for i in 0..n {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/miniscript/mod.rs:559:18
[INFO] [stdout]     |
[INFO] [stdout] 559 |         for i in 1..n + 1 {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1023:38
[INFO] [stdout]      |
[INFO] [stdout] 1023 |                     for sub in &subs[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1033:38
[INFO] [stdout]      |
[INFO] [stdout] 1033 |                     for sub in &subs[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1066:38
[INFO] [stdout]      |
[INFO] [stdout] 1066 |                     for sub in &subs[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1076:38
[INFO] [stdout]      |
[INFO] [stdout] 1076 |                     for sub in &subs[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/policy/concrete.rs:1208:38
[INFO] [stdout]      |
[INFO] [stdout] 1208 |                 for arg in &top.args[1..] {
[INFO] [stdout]      |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/policy/semantic.rs:389:38
[INFO] [stdout]     |
[INFO] [stdout] 389 |                 for arg in &top.args[1..] {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/policy/semantic.rs:614:34
[INFO] [stdout]     |
[INFO] [stdout] 614 |                     Some(sublens[0..k].iter().cloned().sum::<usize>())
[INFO] [stdout]     |                                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:125:14
[INFO] [stdout]     |
[INFO] [stdout] 125 |     for i in 0..psbt.inputs().len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:151:56
[INFO] [stdout]     |
[INFO] [stdout] 151 |         match bitcoin::PublicKey::from_slice(&pk_bytes[1..script_pubkey_len - 1]) {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:340:18
[INFO] [stdout]     |
[INFO] [stdout] 340 |     for index in 0..psbt.inputs().len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:508:14
[INFO] [stdout]     |
[INFO] [stdout] 508 |     for n in 0..psbt.inputs().len() {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/finalizer.rs:515:18
[INFO] [stdout]     |
[INFO] [stdout] 515 |     for index in 0..psbt.inputs().len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:648:22
[INFO] [stdout]     |
[INFO] [stdout] 648 |         for index in 0..self.inputs().len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/psbt/mod.rs:686:22
[INFO] [stdout]     |
[INFO] [stdout] 686 |         for index in 0..self.inputs().len() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/psbt/mod.rs:1352:43
[INFO] [stdout]      |
[INFO] [stdout] 1352 |     script_code.extend(&script.as_bytes()[2..]);
[INFO] [stdout]      |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_utils.rs:119:14
[INFO] [stdout]     |
[INFO] [stdout] 119 |     for i in 1..n + 1 {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/test_utils.rs:141:24
[INFO] [stdout]     |
[INFO] [stdout] 141 |         for (i, c) in (b'A'..=b'Z').enumerate() {
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/test_utils.rs:172:24
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for (i, c) in (b'A'..=b'Z').enumerate() {
[INFO] [stdout]     |                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |             for i in 0..::std::mem::size_of::<$type>() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 | define_slice_to_le!(slice_to_u32_le, u32);
[INFO] [stdout]    | ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_slice_to_le` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `proprietary` and `unknown` are never used
[INFO] [stdout]     --> src/psbt/mod.rs:1091:8
[INFO] [stdout]      |
[INFO] [stdout] 1082 | trait PsbtFields {
[INFO] [stdout]      |       ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     fn proprietary(&mut self) -> &mut BTreeMap<psbt::raw::ProprietaryKey, Vec<u8>>;
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 1092 |     fn unknown(&mut self) -> &mut BTreeMap<psbt::raw::Key, Vec<u8>>;
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]     --> src/descriptor/mod.rs:1087:16
[INFO] [stdout]      |
[INFO] [stdout] 1087 |         range: Range<u32>,
[INFO] [stdout]      |                ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 119 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `elements-miniscript` (lib) due to 2 previous errors; 119 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: methods `proprietary` and `unknown` are never used
[INFO] [stdout]     --> src/psbt/mod.rs:1091:8
[INFO] [stdout]      |
[INFO] [stdout] 1082 | trait PsbtFields {
[INFO] [stdout]      |       ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 1091 |     fn proprietary(&mut self) -> &mut BTreeMap<psbt::raw::ProprietaryKey, Vec<u8>>;
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] 1092 |     fn unknown(&mut self) -> &mut BTreeMap<psbt::raw::Key, Vec<u8>>;
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 136 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4046092c892a0adea670141c3f39a9368ef3dab58e9f82900c1019432a551afc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4046092c892a0adea670141c3f39a9368ef3dab58e9f82900c1019432a551afc", kill_on_drop: false }`
[INFO] [stdout] 4046092c892a0adea670141c3f39a9368ef3dab58e9f82900c1019432a551afc
